// 引入封装好的 方法
const http = require('../../utils/http');
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    detailData: null, //书籍数据
    hrefImg: null, //当前图片路径
    value: 0, //星星数据
    words: 0, //字数 
    updateNovel: null, //最新更新时间
    updatePage: '', //最新更新章节
    show: false, //弹出层，状态
    showMask: false, //
    commentArray: [], //评论信息
    categoryState: true, //有些书籍没有类型，需要判断
    shelState: "加入书架", //加入书架状态
    _id: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('---', options.id);
    this.setData({
      _id: options.id
    })
    // 浏览记录书籍id
    app.globalData.bookId.push(options.id)
    // 5465fa03e67e4decb9a7ac2d46a4d31a_4
    this.bookDetail(options.id)
    this.latest(options.id)
    this.commentData(options.id)
    // 云函数
    // this.cloudFun(options.id);
    // this.cloudReFun(options.id)
    //数据库 浏览记录
    this.dataHisFun(options.id);
    // 初始化  书架中是否有这书
    this.isShelFun(options.id)

  },


  bookDetail(k) {
    // 获取书籍详情信息
    wx.showLoading({
      title: '正在努力加载中...',
    })
    http.get("/book/getsub.json", {
      id: k
    }).then(res => {
      wx.hideLoading();
      // console.log('获取书籍详情信息---->', res.feed.entry);
      // 特殊情况
      if (res.feed.entry["pris:book"].category == '') {
        this.setData({
          categoryState: false
        })
      }
      let tempWords = this.wordsData(res.feed.entry["pris:book"].words);
      this.findImg(res.feed.entry.link);
      this.setData({
        detailData: res.feed.entry,
        value: res.feed.entry["pris:ranking"].value,
        words: tempWords
      })
    })
  },
  // 处理图片
  findImg(k) {
    k.find((item) => {
      if (item.rel === 'x-stanza-cover-image-thumbnail') {
        // console.log(item.href);
        this.setData({
          hrefImg: item.href
        })
      }
    })
  },
  // 处理文字
  wordsData(k) {
    // console.log(String(k));
    if (String(k).length > 5) {
      return String(k).slice(0, 2) + '.' + String(k).slice(2, 3) + '万字'
    } else if (String(k).length > 4) {
      return String(k).slice(0, 1) + '.' + String(k).slice(1, 2) + '万字'
    } else {
      return String(k) + '字'
    }
  },
  // 最新章节列表
  // book/simpleInfo.json
  latest(k) {
    wx.showLoading({
      title: '正在努力加载中...',
    })
    http.get("/book/simpleInfo.json", {
      id: k
    }).then(res => {
      wx.hideLoading();
      // console.log('最新章节列表---->', res.item);
      let tempupdateNovel = new Date(res.item.update).toLocaleDateString()
      this.setData({
        updateNovel: tempupdateNovel,
        updatePage: res.item.latestArticleTitle
      })
    })
  },
  // 弹出层
  showPopup() {
    this.setData({
      show: true,
      showMask: true
    });
  },
  onClose() {
    this.setData({
      show: false
    });
    setTimeout(() => {
      this.setData({
        showMask: false
      });
    }, 300)
  },
  // 当前小说评论
  // comment/getComments.json
  // 当前小说回复评论
  // comment/getReplys.json
  commentData(k) {
    wx.showLoading({
      title: '正在努力加载中...',
    })
    http.get("/sns/comment/get.json", {
      id: k,
      page: 1
    }).then(res => {
      wx.hideLoading();
      // console.log('当前小说评论---->',res.data);
      this.setData({
        commentArray: res.data
      })
    })
  },

  // 调用云函数
  cloudFun(k) {
    wx.cloud.callFunction({
      name: "n_read_id",
      data: {
        base: 'novel_read_id',
        obj: {
          _id: k,
          coltime: new Date().getTime()
        }
      }
    }).then(res => {
      console.log('read_id', res);
    })
  },
  // 调用云函数
  cloudReFun(k) {
    wx.cloud.callFunction({
      name: "n_read_reid",
      data: {
        base: 'novel_read_id',
        obj: {
          _id: k,
          coltime: new Date().getTime()
        }
      }
    }).then(res => {
      console.log('read_id', res.database);
    })
  },
  // 数据库 浏览记录
  dataHisFun(k) {
    if (!app.globalData.userInfo) {
      const hisCollect = wx.cloud.database().collection("novel_read_id");
      // 是否存在 id
      hisCollect.where({
        _id: k
      }).get().then(res => {
        if (res.data.length == 0) {
          hisCollect.add({
            data: {
              _id: k,
              coltime: new Date().getTime()
            }
          }).then(res => {
            console.log('添加成功');
          })
        } 
      })
    }
  },
  // 添加到书架
  dataShelFun(){
    // novel_mine_id
    if (!app.globalData.userInfo) {
      const shelCollect = wx.cloud.database().collection("novel_mine_id");
      // 是否存在 id
      shelCollect.where({
        _id: this.data._id
      }).get().then(res => {
        if (res.data.length > 0) {
          shelCollect.where({
            _id: this.data._id
          }).remove().then(res => {
            console.log('删除成功');
            wx.showToast({
              title: 'error',
              title: "删除成功",
            })
            this.setData({
              shelState: "加入书架"
            })
          });
        } else {
          shelCollect.add({
            data: {
              _id: this.data._id,
              coltime: new Date().getTime()
            }
          }).then(res => {
            console.log('添加成功');
            wx.showToast({
              title: 'sussecc',
              title: "添加成功",
            })
            this.setData({
              shelState: "移除书架"
            })
          })
        }
      })
    }
  },
  // 判断是否添加到书架
  isShelFun(k){
    if (!app.globalData.userInfo) {
      const isShelCollect = wx.cloud.database().collection("novel_mine_id");
      // 是否存在 id
      isShelCollect.where({
        _id: k
      }).get().then(res => {
        if(res.data.length >0){
          this.setData({
            shelState: "移除书架"
          })
        }else{
          this.setData({
            shelState: "加入书架"
          })
        }     
      })
    }
  }
})